/*
 * This file Copyright (c) 2015. Walle.
 * (http://www.wallellen.com). All rights reserved.
 *
 *
 * This file is dual-licensed under both the
 * Walle Agreement (WA) and the GNU General Public License.
 * You may elect to use one or the other of these licenses.
 *
 * This file is distributed in the hope that it will be
 * useful, but AS-IS and WITHOUT ANY WARRANTY; without even the
 * implied warranty of MERCHANTABILITY or FITNESS FOR A
 * PARTICULAR PURPOSE, TITLE, or NONINFRINGEMENT.
 * Redistribution, except as permitted by whichever of the GPL
 * or WA you select, is prohibited.
 *
 * 1. For the GPL license (GPL), you can redistribute and/or
 * modify this file under the terms of the GNU General
 * Public License, Version 3, as published by the Free Software
 * Foundation.  You should have received a copy of the GNU
 * General Public License, Version 3 along with this program;
 * if not, write to the Free Software Foundation, Inc., 51
 * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * 2. For the Walle Agreement (WA), this file
 * and the accompanying materials are made available under the
 * terms of the WA which accompanies this distribution, and
 * is available at http://www.wallellen.com/agreement.html
 *
 *
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
 */

package com.wallellen.authority.domain;

import com.wallellen.core.auth.domain.LoginUser;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;

/**
 * Created by walle on 12/12/15.
 */
@Entity(name = "User")
@Table(name = "ALONE_AUTH_USER")
public class User
        implements Serializable, LoginUser {
    private static final long serialVersionUID = 1L;

    @Column(name = "LOGINTIME", length = 16)
    private String logintime;

    @Column(name = "LOGINNAME", length = 64, nullable = false)
    private String loginName;

    @Column(name = "STATE", length = 1, nullable = false)
    private String state;

    @Column(name = "MUSER", length = 32, nullable = false)
    private String muser;

    @Column(name = "CUSER", length = 32, nullable = false)
    private String cuser;

    @Column(name = "UTIME", length = 16, nullable = false)
    private String utime;

    @Column(name = "CTIME", length = 16, nullable = false)
    private String ctime;

    @Column(name = "TYPE", length = 1, nullable = false)
    private String type;

    @Column(name = "PASSWORD", length = 32, nullable = false)
    private String password;

    @Column(name = "COMMENTS", length = 128)
    private String comments;

    @Column(name = "NAME", length = 64, nullable = false)
    private String name;

    @Column(name = "IMGID", length = 32)
    private String imgid;

    @Id
    @GenericGenerator(name = "systemUUID", strategy = "uuid")
    @GeneratedValue(generator = "systemUUID")
    @Column(name = "ID", length = 32, insertable = true, updatable = true, nullable = false)
    private String id;

    public String getLoginTime() {
        return this.logintime;
    }

    public void setLoginTime(String logintime) {
        this.logintime = logintime;
    }

    public String getLoginName() {
        return this.loginName;
    }

    public void setLoginName(String loginname) {
        this.loginName = loginname;
    }

    public String getState() {
        return this.state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getMuser() {
        return this.muser;
    }

    public void setMuser(String muser) {
        this.muser = muser;
    }

    public String getCuser() {
        return this.cuser;
    }

    public void setCuser(String cuser) {
        this.cuser = cuser;
    }

    public String getUtime() {
        return this.utime;
    }

    public void setUtime(String utime) {
        this.utime = utime;
    }

    public String getCtime() {
        return this.ctime;
    }

    public void setCtime(String ctime) {
        this.ctime = ctime;
    }

    public String getType() {
        return this.type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getPassword() {
        return this.password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getComments() {
        return this.comments;
    }

    public void setComments(String comments) {
        this.comments = comments;
    }

    public String getName() {
        return this.name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getId() {
        return this.id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getImgid() {
        return this.imgid;
    }

    public void setImgid(String imgid) {
        this.imgid = imgid;
    }
}